A Physically Unclonable Function (PUF) is among the most promising types of security primitives, providing low cost solutions for key storage, chip authentication, supply chain protection, and secure communications. A PUF provides a response to a challenge. For a particular device realizing the PUF, a response-challenge pair depends upon the inherent manufacturing variations in that device. A response-challenge pair is known to the manufacturer of the device and is shared among authorized users, but it is extremely difficult or nearly impossible for an unauthorized user to discover the response-challenge pair by analyzing or reverse engineering the device.
A strong PUF has a large challenge-response space and a weak PUF has a relatively small challenge-response space. A weak PUF may have only one challenge-response pair. As an example, for a weak PUF implemented with a circuit, the challenge may be the powering on of the circuit, and the response may be a bit sequence represented by logic-valued voltages within the circuit. The response provided by a weak PUF can be used to identify the PUF for authentication purposes, or as another example the response can be used to generate a key to decrypt messages. The key may be the response itself, or a hash function can be applied to the response to generate the key.
The development of PUF circuits that are power and area efficient, and that exhibit good reliability and stability, is an area of active research.